/*                          UX-Framework                               
 *                                                                 
 *  iZE Co.,Ltd. Copyright 2009 All rights reserved.          
 *  This file is distributed under the terms of the GNU Lesser 
 *  General Public License, described in file LICENSE.                                     
 */
package jp.ize.ux;

// {{{ class UXMatrix
/** 
 * UXMatrix クラス<br>
 * アフィン変換のための行列を表現するクラスです。<br>
 *
 * @author		iZE Co., Ltd.<br>
 * @version		$Id: UXMatrix.hx 22 2009-02-05 07:21:58Z yimai.v $<br>
 */
class UXMatrix
{
	// {{{ public var a(default, default) : Float;
	/**
	 * 行列(0,0)要素
	 */
	public var a(default, default) : Float;
	// }}}
	// {{{ public var b(default, default) : Float;
	/**
	 * 行列(0,1)要素
	 */
	public var b(default, default) : Float;
	// }}}
	// {{{ public var c(default, default) : Float;
	/**
	 * 行列(1,0)要素
	 */
	public var c(default, default) : Float;
	// }}}
	// {{{ public var d(default, default) : Float;
	/**
	 * 行列(1,1)要素
	 */
	public var d(default, default) : Float;
	// }}}
	// {{{ public var tx(default, default) : Float;
	/**
	 * 行列(0,2)要素
	 */
	public var tx(default, default) : Float;
	// }}}
	// {{{ public var ty(default, default) : Float;
	/**
	 * 行列(1,2)要素
	 */
	public var ty(default, default) : Float;
	// }}}
	// {{{ public function new ( a : Float, b : Float, c : Float, d : Float, tx : Float, ty : Float )
	/**
	 * コンストラクタ
	 * 指定されたパラメータでMatrixオブジェクトを作成します。
	 * パラメータが指定されない場合は単位行列を作成します。
	 */
	public function new ( ?a : Float = 1, ?b : Float = 0, ?c : Float = 0, ?d : Float = 1, ?tx : Float = 0, ?ty : Float = 0 )
	{
		this.a = a;
		this.b = b;
		this.c = c;
		this.d = d;
		this.tx = tx;
		this.ty = ty;
	}
	// }}}
	// {{{ public function transformPoint( p : UXPoint ) : UXPoint
	/**
	 *
	 */
	public function transformPoint( p : UXPoint ) : UXPoint
	{
		return null;
	}
	// }}}
}
// }}}
